﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CapaEntidades;
using System.Data;
using System.Data.SqlClient;
namespace CapaDatos
{
    public class datProducto
    {
        #region singleton
        private static readonly datProducto _instancia = new datProducto();
        public static datProducto Instancia
        {
            get { return datProducto._instancia; }
        }
        #endregion

        #region Metodos
        public List<entProducto> ListarProductoxMarca(Int16 idMarca){
            SqlCommand cmd = null;
            SqlDataReader dr = null;
            List<entProducto> Lista = null;
            try{
                SqlConnection cn = Conexion.Instancia.Conectar();
                cmd = new SqlCommand("spListarProductoxMarca", cn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@prmintMarca", idMarca);
                cn.Open();
                dr = cmd.ExecuteReader();
                Lista = new List<entProducto>();
                while (dr.Read()){
                    entProducto p = new entProducto();
                    p.idProducto = Convert.ToInt16(dr["idProducto"]);
                    p.Descripcion= dr["Descripcion"].ToString();
                    p.Imagen = dr["Imagen"].ToString();
                    p.Codigo = dr["Codigo"].ToString();
                    p.Precio = Convert.ToDouble(dr["Precio"]);
                    p.Stock = Convert.ToInt32(dr["Stock"]);
                        entMarca m = new entMarca();
                        m.idMarca = Convert.ToInt16(dr["idMarca"]);
                        m.Descripcion = dr["DMarca"].ToString();
                    p.Marca = m;
                    Lista.Add(p);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            finally { cmd.Connection.Close(); }
            return Lista;
        }
        #endregion
    }
}
